package cn.stylefeng.guns.modular.vote.entity;

import cn.stylefeng.guns.modular.BaseEntity2;
import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity;
import cn.stylefeng.roses.kernel.rule.annotation.ChineseDescription;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 作品表;实例类
 *
 * @author songq
 * @date 2025/04/22 14:49
 */
@TableName("tp_works")
@Data
@EqualsAndHashCode(callSuper = true)
public class Works extends BaseEntity2 {

    /**
     * 作品主键
     */
    @TableId(value = "work_id", type = IdType.ASSIGN_ID)
    @ChineseDescription("作品主键")
    private Long workId;
    
    @TableField(exist = false)
    @ChineseDescription("所属组织名称")
    private String workDeptName;

    /**
     * 所属组织
     */
    @TableField("work_dept")
    @ChineseDescription("所属组织")
    private Long workDept;

    /**
     * 作品标题
     */
    @TableField("work_title")
    @ChineseDescription("作品标题")
    private String workTitle;

    /**
     * 作品描述
     */
    @TableField("work_desc")
    @ChineseDescription("作品描述")
    private String workDesc;

    /**
     * 作品缩略图
     */
    @TableField("work_img")
    @ChineseDescription("作品缩略图")
    private String workImg;
    
    @TableField(exist = false)
    @ChineseDescription("作品缩略图地址")
    private String workImgUrl;

    /**
     * 作品位置
     */
    @TableField("work_url")
    @ChineseDescription("作品位置")
    private String workUrl;
    
    @TableField(exist = false)
    @ChineseDescription("视频地址")
    private String workVideoUrl;


    /**
     * 作者
     */
    @TableField("work_author")
    @ChineseDescription("作者")
    private String workAuthor;

    /**
     * 作品排序
     */
    @TableField("work_sort")
    @ChineseDescription("作品排序")
    private Integer workSort;

    /**
     * 投票数
     */
    @TableField("vote_num")
    @ChineseDescription("投票数")
    private Integer voteNum;

    /**
     * 创建人
     */
    @TableField("CREATED_BY")
    @ChineseDescription("创建人")
    private String createdBy;

    /**
     * 创建时间
     */
    @TableField("CREATED_TIME")
    @ChineseDescription("创建时间")
    private Date createdTime;

    /**
     * 更新人
     */
    @TableField("UPDATED_BY")
    @ChineseDescription("更新人")
    private String updatedBy;

    /**
     * 更新时间
     */
    @TableField("UPDATED_TIME")
    @ChineseDescription("更新时间")
    private Date updatedTime;

}
